package com.cobo.lib.data

val ROM_TYPES = arrayOf(
    "ROM ONLY",
    "MBC1",
    "MBC1+RAM",
    "MBC1+RAM+BATTERY",
    "0x04 ???",
    "MBC2",
    "MBC2+BATTERY",
    "0x07 ???",
    "ROM+RAM 1",
    "ROM+RAM+BATTERY 1",
    "0x0A ???",
    "MMM01",
    "MMM01+RAM",
    "MMM01+RAM+BATTERY",
    "0x0E ???",
    "MBC3+TIMER+BATTERY",
    "MBC3+TIMER+RAM+BATTERY 2",
    "MBC3",
    "MBC3+RAM 2",
    "MBC3+RAM+BATTERY 2",
    "0x14 ???",
    "0x15 ???",
    "0x16 ???",
    "0x17 ???",
    "0x18 ???",
    "MBC5",
    "MBC5+RAM",
    "MBC5+RAM+BATTERY",
    "MBC5+RUMBLE",
    "MBC5+RUMBLE+RAM",
    "MBC5+RUMBLE+RAM+BATTERY",
    "0x1F ???",
    "MBC6",
    "0x21 ???",
    "MBC7+SENSOR+RUMBLE+RAM+BATTERY",
)

// 许可证代码表 - 对应C语言中的 LIC_CODE 数组
val LIC_CODE = Array<String?>(0xA5) { null }.apply {
    this[0x00] = "None"
    this[0x01] = "Nintendo R&D1"
    this[0x08] = "Capcom"
    this[0x13] = "Electronic Arts"
    this[0x18] = "Hudson Soft"
    this[0x19] = "b-ai"
    this[0x20] = "kss"
    this[0x22] = "pow"
    this[0x24] = "PCM Complete"
    this[0x25] = "san-x"
    this[0x28] = "Kemco Japan"
    this[0x29] = "seta"
    this[0x30] = "Viacom"
    this[0x31] = "Nintendo"
    this[0x32] = "Bandai"
    this[0x33] = "Ocean/Acclaim"
    this[0x34] = "Konami"
    this[0x35] = "Hector"
    this[0x37] = "Taito"
    this[0x38] = "Hudson"
    this[0x39] = "Banpresto"
    this[0x41] = "Ubi Soft"
    this[0x42] = "Atlus"
    this[0x44] = "Malibu"
    this[0x46] = "angel"
    this[0x47] = "Bullet-Proof"
    this[0x49] = "irem"
    this[0x50] = "Absolute"
    this[0x51] = "Acclaim"
    this[0x52] = "Activision"
    this[0x53] = "American sammy"
    this[0x54] = "Konami"
    this[0x55] = "Hi tech entertainment"
    this[0x56] = "LJN"
    this[0x57] = "Matchbox"
    this[0x58] = "Mattel"
    this[0x59] = "Milton Bradley"
    this[0x60] = "Titus"
    this[0x61] = "Virgin"
    this[0x64] = "LucasArts"
    this[0x67] = "Ocean"
    this[0x69] = "Electronic Arts"
    this[0x70] = "Infogrames"
    this[0x71] = "Interplay"
    this[0x72] = "Broderbund"
    this[0x73] = "sculptured"
    this[0x75] = "sci"
    this[0x78] = "THQ"
    this[0x79] = "Accolade"
    this[0x80] = "misawa"
    this[0x83] = "lozc"
    this[0x86] = "Tokuma Shoten Intermedia"
    this[0x87] = "Tsukuda Original"
    this[0x91] = "Chunsoft"
    this[0x92] = "Video system"
    this[0x93] = "Ocean/Acclaim"
    this[0x95] = "Varie"
    this[0x96] = "Yonezawa/s’pal"
    this[0x97] = "Kaneko"
    this[0x99] = "Pack in soft"
    this[0xA4] = "Konami (Yu-Gi-Oh!)"
}

val RAME_SIZE_CODE = Array<String>(6){""}.apply {
    this[0] = "No RAM"
    this[1] = "Unused 12"
    this[2] = "8 KiB"
    this[3] = "32 KiB"
    this[4] = "128 KiB"
    this[5] = "64 KiB"
}